<?php
// +----------------------------------------------------------------------
// | 07FLYSAAS [基于ThinkPHP5.0开发]
// +----------------------------------------------------------------------
// | Copyright (c) 2025-2035 http://www.07fly.xyz
// +----------------------------------------------------------------------
// | Professional because of focus  Persevering because of happiness
// +----------------------------------------------------------------------
// | Author: 开发人生 <goodkfrs@qq.com>
// +----------------------------------------------------------------------

namespace app\plat\controller;

/**
 * 首页控制器
 */
class Index extends PlatBase
{
    public function _initialize()
    {
        parent::_initialize();
//        if(!$this->getLanguage()){
//            cookie('think_var', 'zh_tw');
//        }
    }


    /**
     * 管理首页方法
     */
    public function index()
    {
        $this->view->engine->layout(false);
        //系统配置
        $this->assign('sys_config', $this->logicLogin->getConfigData());

        $this->assign('language_list', $this->getLanguage());

        return $this->fetch('index');

    }

    /**
     * 管理首页方法
     */
    public function main()
    {
        // 获取首页数据
        $index_data = $this->logicPlatBase->getVersionData();
        $this->assign('info', $index_data);
        return $this->fetch('main');
    }


    // 切换语言
    public function chgLanguage()
    {
        $lang = input('lang');
        cookie('think_var', $lang);
        $rtn = [RESULT_SUCCESS, lang('set success')];
        $this->jump($rtn);
    }

    //多语言支持
    public function getLanguage()
    {
        $langClass = get_module_class('lpt', 'LptLanguage');
        if ($langClass == false) {
            $langList = [];
        } else {
            $langList = $langClass->getUseLangList();
        }
        return $langList;
    }

    /**
     * 获取列表字段
     * @return array
     * @author: 开发人生 goodkfrs@qq.com
     * @Time: 2025/1/7 10:01
     */
    public function getTableColumn()
    {
        $filename = PATH_DATA . 'column.json';
        $tablename = $this->param['table'];
        $column = [];
        if (!empty($this->param['column'])) {
            $column = $this->param['column'];
        }
        // 检查文件是否存在
        if (!file_exists($filename)) {
            // 文件不存在，创建一个新的空数组并保存到文件
            $data = [];
        } else {
            // 文件存在，读取文件内容
            $content = file_get_contents($filename);
            $data = json_decode($content, true); // 将 JSON 字符串转换为关联数组
            if ($data === null) {
                // 如果文件内容不是有效的 JSON，初始化为空数组
                $data = [];
            }
        }
        //当有值传过来，保存更新数据
        if (!empty($column)) {
            $data[$tablename] = $column;
            // 将更新后的数据写回文件
            $newContent = json_encode($data, JSON_PRETTY_PRINT);
            file_put_contents($filename, $newContent);
            return ['code' => 1, 'msg' => 'Success', 'data' => $data[$tablename]];
        } else {
            // 检查是否存在指定的 tablename 数组
            if (!isset($data[$tablename])) {
                return ['code' => 1, 'msg' => 'No data found', 'data' => []];;
            } else {
                return ['code' => 1, 'msg' => 'Success', 'data' => $data[$tablename]];
            }
        }
    }
}